LightWave Plugin: Load From Scene


Overview

Load From Scene is a Modeler plug-in which allows you to load in Objects from a LightWave Scene file, maintaining the position, rotation and scale for all Objects. In essence, it provides a "snapshot" of all of the Objects in the Scene at Frame 0.

When the Scene is loaded, a list of the Objects present in the Scene is presented. You may select individual Objects for loading.

Note: Load From Scene cannot calculate the effect of Bones, Displacement Maps or Morph Targets when importing Objects from Scenes. This functionality is beyond the scope of this plug-in.

Load From Scene was developed using my LightWave C++ classes

Load From Scene

Go 'Behind The Scenes' to see how Load From Scene was developed!

(See also Future Plans)

Installation

Installation Overview
Plugin to InstallLoadFromScene.p
Install Folder..\NEWTEK\PLUGINS\MODELER\
Installed Plugin NameLoad From Scene
Location in ModelerObjects->Custom

Load From Scene is a Modeler plug-in. Copy the "LoadFromScene.p" file into your "..\NEWTEK\PLUGINS\MODELER\" folder.

To Install the plug-in for use in Modeler, use the "Add Plugin" function from the Custom menu in the Objects panel. Select the "LoadFromScene.p" file in the file requester. For information on installing plug-ins, refer to your LightWave documentation.

After the plug-in is installed, activate it from the Custom menu in the Objects panel. It will appear as "Load From Scene".

Usage

Note: The Load From Scene plug-in requires that you have two (2) available empty layers in Modeler. If two empty layers are not available, Load From Scene will issue an error and abort.

When you first run Load From Scene you will be presented with two file requesters.

The first file requester allows you to choose the LightWave Scene file to load.

The second file requester is required to choose the Content Directory for the Scene file. This is usually the NewTek directory (eg. C:\NEWTEK\) but may be different for your situation, and may change with different Scene files.

The two file requesters will recall their previous locations for subsequent runs.

After the Scene file and Content Directory have been selected, Load From Scene loads the Scene file into memory. If there is a problem loading the Scene file, Load From Scene will issue an error message and abort.

Upon successful loading of the Scene file the list dialog pictured above appears. It provides the following functions:

Object List

The dialog lists all of the Objects in the Scene, with the exception of Null Objects. Null Objects are ignored for the purposes of Object selection; however, a Null Object's influence on an Object heirarchy is considered when the Scene is assembled in Modeler.

As you can likely guess, you simply click on any Object to select and deselect it. Holding Ctrl while clicking allows you to select multiple Objects. Holding Shift while clicking will select a range of Objects. Standard Windows stuff.

Selecting an Object in the list indicates that the Object will be loaded into Modeler. If a selected Object has a Parent Object, the Parent does not need to be selected in order for the child Object to orient itself correctly in relation to the Scene's layout. Again, all Object's influences on the Object heirarchy are considered when the Scene is assembled in Modeler.

Frame Slider / Edit Box

Load From Scene determines the frame sequence for the Scene that is loaded (this is provided standard courtesy of the LightWave C++ Classes). Using the Frame Slider or Edit Box, you may select any frame within the Scene. The Object that is created in Modeler will be a "snapshot" of the selected Objects at the selected frame.

As an added bonus, the "snapshots" from different Frames for the same Scene are morphable -- provided the same Objects are selected for the Load.

NOTE: The Frame Slider is only available in the Full Version. See Distribution for details on Registering Load From Scene.

Return to Load From Scene after these Objects are loaded

If this option is checked, the Load From Scene dialog will reappear after the specified Objects are loaded. This will allow you to re-snapshot the Scene at a different frame, and/or to re-select the Objects in the Object List.

All Objects that were selected in the Object List remain selected, and the Frame Slider remains at the previously selected Frame.

Note: This option will automatically disable itself when Modeler no longer has enough empty layers to support a subsequent operation (see Usage).

All | None

Click the All button to select all of the Objects in the Object List.

Click the None button to clear the selection for all of the Objects in the Object List.

Cancel | Proceed

When you have selected all of the Objects that you want to load, clicking the Proceed button will start assembling the Scene in Modeler.

To cancel the Load From Scene macro altogether, click the Cancel button. No selected Objects will load.

If there are any problems with loading the Object files, Load From Scene will prompt with a requester with the following options:

BrowseProvides a file requester to select a new path for the Object, or a new Object entirely, if you're so inclined.
SkipGive up trying to load this Object, but warn for all future problems.
Skip AllGive up trying to load this Object, and silently ignore all future problems.

The Scene is assembled in the first empty layer.

Aborting a load in progress

Once you have pressed the Proceed button, Load From Scene starts assembling the Scene in Modeler. There is no progress meter or Abort button. However, you can abort the load in progress by holding both the CTRL and SHIFT keys until the message "Operation Aborted" appears. Any Objects already loaded will remain loaded.

History

Version 1.6g - Bug Fix / New Feature
Version 1.5g - Bug Fix

Fixed a string variable overrun which caused inaccurate results when rebuilding the Scene.

Version 1.5f - Bug Fix

Previous versions of Load From Scene would crash Modeler if an Object's Scale was not exactly 1.0/1.0/1.0. This is now fixed.

Version 1.4 - Bug Fix

Previous versions of Load From Scene assumed that you were using the LightWave's Content Directory for all of the Objects in the Scene. Any Objects that were described with a fully qualified path would not load properly. This has been fixed in version 1.4

Version 1.2

Future Plans

At this time there is no progress meter. There is a problem with Modeler's internal progress meters, and I am still investigating how to incorporate my own.

Distribution

Load From Scene is a ShareWare plug-in; the price for the Full Version is $15.00 Cdn ($12 US). You can download a limited Trial Version for evaluation. The Trial Version does not include the Frame Slider, and thus lacks the ability to snapshot the Scene from any frame other than frame 0. The Trial Version also does not include the Return to Load From Scene option. The evaluation period is unlimited -- the plugin will not expire, nor bring up any nag screens.

How to order Load From Scene.


Copyright

Load From Scene is Copyright ⌐1996, 1997 by Bryan Ewert. All Rights Reserved.

The Load From Scene software and its manual are Copyright ⌐1996, 1997 by Bryan Ewert. This document may not be modified from its original form without prior consent, in writing, from Bryan Ewert.

License

YOU HAVE THE NON-EXCLUSIVE RIGHT TO USE THE ENCLOSED PROGRAM ONLY ON A SINGLE COMPUTER. YOU MAY PHYSICALLY TRANSFER THE PROGRAM FROM ONE COMPUTER TO ANOTHER PROVIDED THAT THE PROGRAM IS USED ON ONLY ONE COMPUTER AT A TIME. HOWEVER, YOU MAY NOT ELECTRONICALLY TRANSFER THE PROGRAM FROM ONE COMPUTER TO ANOTHER OVER A NETWORK. YOU MAY NOT DISTRIBUTE COPIES OF THE PROGRAM OR THE ACCOMPANYING DOCUMENTATION TO OTHERS EITHER FOR A FEE OR WITHOUT CHARGE. YOU MAY NOT MODIFY OR TRANSLATE THE PROGRAM OR DOCUMENTATION. YOU MAY NOT DISASSEMBLE THE PROGRAM OR ALLOW IT TO BE DISASSEMBLED INTO ITS CONSTITUENT SOURCE CODES. YOUR USE OF THE PROGRAM INDICATES YOUR ACCEPTANCE OF THESE TERMS AND CONDITIONS.

Disclaimer

BRYAN EWERT (HEREAFTER "THE AUTHOR") MAKES NO WARRANTIES, EITHER EXPRESSED OR IMPLIED, WITH RESPECT TO THE PROGRAM DESCRIBED HEREIN, ITS QUALITY, PERFORMANCE, MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE. THIS PROGRAM IS PROVIDED "AS IS." THE ENTIRE RISK AS TO ITS QUALITY AND PERFORMANCE IS WITH THE USER. IN NO EVENT WILL THE AUTHOR BE LIABLE FOR DIRECT, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGE, OR DAMAGES RESULTING FROM LOSS OF USE OR LOSS OF ANTICIPATED PROFITS RESULTING FROM ANY DEFECT IN THE PROGRAM EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Trademarks

LightWave 3D is a Registered Trademark of NewTek, Inc. Distribution Object List Frame Keep Going All or None Proceed Menu Copyright

Copyright ©1996, 1997 by Bryan Ewert, ewertb@cadvision.com.

Created: 11 Dec 96 ╖ Updated: 13 July 1997